# coding=utf8

# Copyright 2018 JDCLOUD.COM
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# NOTE: This class is auto generated by the jdcloud code generator program.


class InstanceVoucherSpec(object):

    def __init__(self, sourceId=None, orderNumber=None, instanceVoucherId=None, pin=None, appCode=None, serviceCode=None, resourceType=None, region=None, az=None, reservedType=None, instanceTypeFamily=None, instanceType=None, unitCount=None, chargeUnit=None, chargeDuration=None, createTime=None, action=None):
        """
        :param sourceId: (Optional) sourceId
        :param orderNumber: (Optional) 订单号
        :param instanceVoucherId: (Optional) 实例券ID
        :param pin: (Optional) 用户pin
        :param appCode: (Optional) 产品线
        :param serviceCode: (Optional) 产品编码
        :param resourceType: (Optional) 产品类型(实例券类型)
        :param region: (Optional) 地域
        :param az: (Optional) 可用区(新购时，预留:reserved,az必传)
        :param reservedType: (Optional) 资源分配方式(是否预留 预留:reserved, 不预留:unReserved)
        :param instanceTypeFamily: (Optional) 规格族(不预留:unReserved,instanceTypeFamily必传)
        :param instanceType: (Optional) 规格(预留:reserved,instanceType必传)
        :param unitCount: (Optional) 购买数量
        :param chargeUnit: (Optional) 计费单位，预付费必填(month、year,默认为month)
        :param chargeDuration: (Optional) 计费时长，预付费必填
        :param createTime: (Optional) 创建时间
        :param action: (Optional) 操作(1:新购 2:配置变更)
        """

        self.sourceId = sourceId
        self.orderNumber = orderNumber
        self.instanceVoucherId = instanceVoucherId
        self.pin = pin
        self.appCode = appCode
        self.serviceCode = serviceCode
        self.resourceType = resourceType
        self.region = region
        self.az = az
        self.reservedType = reservedType
        self.instanceTypeFamily = instanceTypeFamily
        self.instanceType = instanceType
        self.unitCount = unitCount
        self.chargeUnit = chargeUnit
        self.chargeDuration = chargeDuration
        self.createTime = createTime
        self.action = action
